Pennsylvania
# extract Penn's rows with STATEFP 48
penn_map <- us[us$STATEFP %in% c("42"),]
democrat$GEOID <- formatC(democrat$GEOID, width = 5, format = "d", flag = "0")
# merge Penn unemployment rate and democrat party information
penn<-merge(penn_map,unemploy,by=c("GEOID"))
penn<-merge(penn,democrat,by=c("GEOID"))
# year 2008
pa_2008 <- penn[which(penn$year==2008),]
# year 2012
pa_2012<- penn[which(penn$year==2012),]
# year 2016
pa_2016 <- penn[which(penn$year==2016),]
# 2008 Pennsylvania Democratic Vote Percentage
title_13 <- tags$p(tags$style("p {font-size:12px}"),
tags$b("2008 Pennsylvania Democratic Vote Percentage"))
popup_dat <- paste0("<strong>County: </strong>",
pa_2008$county.x,
"<br><strong>Percent of Vote: </strong>",
paste(round(100*pa_2008$percent, 2), "%", sep=""))
pal<-colorQuantile("Blues", NULL, n = 10)
map_13 <- leaflet(data = pa_2008,
options = leafletOptions(attributionControl=FALSE)) %>%
addTiles()%>%
setView(lng = -80, lat = 40, zoom = 5) %>%
addPolygons(fillColor = ~pal(percent),
fillOpacity = 1,
color = "#BDBDC3",
weight = 1,
popup = popup_dat
) %>%
addLegend("bottomleft", pal = pal, values = ~percent,
title = "Percent of Vote",
opacity = 0.6)%>%
addControl(title_13, position = "topright" )%>%
addProviderTiles(providers$CartoDB.Positron)
## Warning: sf layer has inconsistent datum (+proj=longlat +datum=NAD83 +no_defs).
## Need '+proj=longlat +datum=WGS84'
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Blues is 9
## Returning the palette you asked for with that many colors
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Blues is 9
## Returning the palette you asked for with that many colors
#map_13
# 2008 Pennsylvania Unemployment Rate
title_14 <- tags$p(tags$style("p {font-size:12px}"),
tags$b("2008 Pennsylvania Unemployment Rate"))
popup_dat <- paste0("<strong>County: </strong>",
pa_2008$county.x,
"<br><strong>Unemployment Rate: </strong>",
pa_2008$Unemployment_rate_2008)
pal<-colorQuantile("Oranges", NULL, n = 10)
map_14 <- leaflet(data = pa_2008,options = leafletOptions(
attributionControl=FALSE)) %>%
addTiles() %>%
setView(lng = -80, lat = 40, zoom = 5) %>%
addPolygons(fillColor = ~pal(Unemployment_rate_2008),
fillOpacity = 1,
color = "#BDBDC3",
weight = 1,
popup = popup_dat
) %>%
addLegend("bottomleft", pal = pal, values = ~Unemployment_rate_2008,
title = "Unemployment Rate",
opacity = 0.6)%>%
addControl(title_14, position = "topright" )%>%
addProviderTiles(providers$CartoDB.Positron)
## Warning: sf layer has inconsistent datum (+proj=longlat +datum=NAD83 +no_defs).
## Need '+proj=longlat +datum=WGS84'
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Oranges is 9
## Returning the palette you asked for with that many colors
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Oranges is 9
## Returning the palette you asked for with that many colors
#map_14
# 2012 Pennsylvania Democratic Vote Percentage
title_15 <- tags$p(tags$style("p {font-size:12px}"),
tags$b("2012 Pennsylvania Democratic Vote Percentage"))
popup_dat <- paste0("<strong>County: </strong>",
pa_2012$county.x,
"<br><strong>Percent of Vote: </strong>",
paste(round(100*pa_2012$percent, 2), "%", sep=""))
pal<-colorQuantile("Blues", NULL, n = 10)
map_15 <- leaflet(data = pa_2012,
options = leafletOptions(attributionControl=FALSE)) %>%
addTiles()%>%
setView(lng = -80, lat = 40, zoom = 5) %>%
addPolygons(fillColor = ~pal(percent),
fillOpacity = 1,
color = "#BDBDC3",
weight = 1,
popup = popup_dat
) %>%
# addLegend("bottomleft", pal = pal, values = ~percent,
# title = "Percent of Vote",
# opacity = 0.8)%>%
addControl(title_15, position = "topright" )%>%
addProviderTiles(providers$CartoDB.Positron)
## Warning: sf layer has inconsistent datum (+proj=longlat +datum=NAD83 +no_defs).
## Need '+proj=longlat +datum=WGS84'
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Blues is 9
## Returning the palette you asked for with that many colors
#map_15
# 2012 Pennsylvania Unemployment Rate
title_16 <- tags$p(tags$style("p {font-size:12px}"),
tags$b("2012 Pennsylvania Unemployment Rate"))
popup_dat <- paste0("<strong>County: </strong>",
pa_2012$county.x,
"<br><strong>Unemployment Rate: </strong>",
pa_2012$Unemployment_rate_2012)
pal<-colorQuantile("Oranges", NULL, n = 10)
map_16 <- leaflet(data = pa_2012,options = leafletOptions(
attributionControl=FALSE)) %>%
addTiles() %>%
setView(lng = -80, lat = 40, zoom = 5) %>%
addPolygons(fillColor = ~pal(Unemployment_rate_2012),
fillOpacity = 1,
color = "#BDBDC3",
weight = 1,
popup = popup_dat
) %>%
# addLegend("bottomleft", pal = pal, values = ~Unemployment_rate_2012,
# title = "Unemployment Rate",
# opacity = 0.8)%>%
addControl(title_16, position = "topright" )%>%
addProviderTiles(providers$CartoDB.Positron)
## Warning: sf layer has inconsistent datum (+proj=longlat +datum=NAD83 +no_defs).
## Need '+proj=longlat +datum=WGS84'
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Oranges is 9
## Returning the palette you asked for with that many colors
#map_16
# 2016 Pennsylvania Democratic Vote Percentage
title_17 <- tags$p(tags$style("p {font-size:12px}"),
tags$b("2016 Pennsylvania Democratic Vote Percentage"))
popup_dat <- paste0("<strong>County: </strong>",
pa_2016$county.x,
"<br><strong>Percent of Vote: </strong>",
paste(round(100*pa_2016$percent, 2), "%", sep=""))
pal<-colorQuantile("Blues", NULL, n = 10)
map_17 <- leaflet(data = pa_2016,
options = leafletOptions(attributionControl=FALSE)) %>%
addTiles()%>%
setView(lng = -80, lat = 40, zoom = 5) %>%
addPolygons(fillColor = ~pal(percent),
fillOpacity = 1,
color = "#BDBDC3",
weight = 1,
popup = popup_dat
) %>%
#addLegend("bottomleft", pal = pal, values = ~percent,
# title = "Percent of Vote",
# opacity = 0.8)%>%
addControl(title_17, position = "topright" )%>%
addProviderTiles(providers$CartoDB.Positron)
## Warning: sf layer has inconsistent datum (+proj=longlat +datum=NAD83 +no_defs).
## Need '+proj=longlat +datum=WGS84'
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Blues is 9
## Returning the palette you asked for with that many colors
#map_17
# 2016 Pennsylvania Unemployment Rate
title_18 <- tags$p(tags$style("p {font-size:12px}"),
tags$b("2016 Pennsylvania Unemployment Rate"))
popup_dat <- paste0("<strong>County: </strong>",
pa_2016$county.x,
"<br><strong>Unemployment Rate: </strong>",
pa_2016$Unemployment_rate_2016)
pal<-colorQuantile("Oranges", NULL, n = 10)
map_18 <- leaflet(data = pa_2016,options = leafletOptions(
attributionControl=FALSE)) %>%
addTiles() %>%
setView(lng = -80, lat = 40, zoom = 5) %>%
addPolygons(fillColor = ~pal(Unemployment_rate_2016),
fillOpacity = 1,
color = "#BDBDC3",
weight = 1,
popup = popup_dat
) %>%
#addLegend("bottomleft", pal = pal, values = ~Unemployment_rate_2016,
#title = "Unemployment Rate",
#opacity = 0.8)%>%
addControl(title_18, position = "topright" )%>%
addProviderTiles(providers$CartoDB.Positron)
## Warning: sf layer has inconsistent datum (+proj=longlat +datum=NAD83 +no_defs).
## Need '+proj=longlat +datum=WGS84'
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Oranges is 9
## Returning the palette you asked for with that many colors
#map_18
sync(list(map_13, map_15, map_17, map_14, map_16, map_18),ncol=3)